package be.vdab.servlets;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.util.*;

import be.vdab.services.*;
import be.vdab.entities.*;

@WebServlet("/bevestigen.htm")
public class BevestigenServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	private static final String VIEW = "/WEB-INF/JSP/bevestigen.jsp";
	private final KlantService klantService = new KlantService();
	private static final String REDIRECT_URL = "/gereserveerd.htm";

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		Klant gebruiker = (Klant) request.getSession()
				.getAttribute("gebruiker");
		String gebruikersNaam = "";
		String paswoord = "";
		List<String> fouten = new ArrayList<String>();
		if (gebruiker != null) {
			gebruikersNaam = gebruiker.getGebruikersNaam();
			paswoord = gebruiker.getPaswoord();
		} else {
			if (!request.getParameterMap().isEmpty()) {
				gebruikersNaam = request.getParameter("gebruikersNaam");
				paswoord = request.getParameter("paswoord");
			}
		}
		List<Klant> klanten = klantService.findByGebruikersNaam(gebruikersNaam,
				paswoord);
		if (!klanten.isEmpty()) {
			request.setAttribute("klanten", klanten);
			gebruiker = klanten.get(0);
			request.getSession().setAttribute("gebruiker", gebruiker);
		} else {
			if (request.getParameterMap().size() > 0) {
				fouten.add("Verkeerde gebruikersnaam of paswoord.");
			}
		}
		if (!fouten.isEmpty()) {
			request.setAttribute("fouten", fouten);
		}
		request.getRequestDispatcher(VIEW).forward(request, response);
	}

	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		response.sendRedirect(response.encodeRedirectURL(request
				.getContextPath() + REDIRECT_URL));
	}

}
